package homework.day02;

import java.io.*;

/**
 * 将当前项目目录下的所有.txt文件复制一份。
 * 复制文件的名字格式:原文件名_cp.txt
 *
 * 例如:
 * 复制当前项目目录下的demo.txt时，复制的文件名为demo_cp.txt
 *
 */
public class Test03 {
    public static void main(String[] args) throws IOException {
        //1如何获取到当前项目目录下的所有.txt文件?
        File dir = new File(".");
        if(dir.isDirectory()){
            //使用文件过滤器获取项目目录下的所有文本文件
            File[] subs = dir.listFiles(f->f.getName().endsWith(".txt"));

            for (File sub : subs){
                //fileName:test2.txt
                String fileName = sub.getName();
                //获取文件名中最后一个"."的位置                      v
                int index = fileName.lastIndexOf(".");//test2.txt
                //在"."之前的文件名中拼接"_cp"
                String newName = fileName.substring(0,index)+"_cp";//test2_cp
                //拼接"_cp"后再将原文件名的后缀部分拼接上
                newName = newName+fileName.substring(index);//test2_cp.txt

                FileInputStream fis = new FileInputStream(sub);
                FileOutputStream fos = new FileOutputStream(newName);
                int len;
                byte[] data = new byte[1024*10];
                while((len = fis.read(data))!=-1){
                    fos.write(data,0,len);
                }
                fos.close();
                fis.close();

            }

            System.out.println("复制完毕");

        }

    }
}
